Macro preprocessor